{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "996e544e-6bec-4dd2-a7ee-5c6abf36d3fd",
   "metadata": {},
   "source": [
    "# Plotting a Neural Network's Boundary "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "924ac173-0e9f-47a2-9b85-470756e3293b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# imports\n",
    "import numpy\n",
    "import pandas\n",
    "import matplotlib.pyplot as plt\n",
    "import _plotting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "20df052f-0c72-4f51-8b58-d711b7d9610a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Helpers\n",
    "def one_off_plot_decision_boundary_2D(function):\n",
    "    \"\"\"\n",
    "    This one takes in a heuristic function to calculate some alternate portion\n",
    "    of the Z axis based on the x and y grids. \n",
    "    It's based off the plot_decision_boundary_2D in _plotting.\n",
    "\n",
    "    Function must be a two-valued surface, f(x,y)\n",
    "\n",
    "    TODO: One-Off because we restrict ourselves above the z = 0.5 plane \n",
    "    \"\"\"\n",
    "    _plotting.plot_scatter(X['aack'][y == 0], X['beep'][y == 0], marker = 's')\n",
    "    _plotting.plot_scatter(X['aack'][y == 1], X['beep'][y == 1], marker = '^')\n",
    "    plt.xlabel('aack')\n",
    "    plt.ylabel('beep')\n",
    "    plt.legend([\"aack\", \"beep\"])\n",
    "\n",
    "    def h(x,y):\n",
    "        \"\"\" Restrict to z = 0.5 \"\"\"\n",
    "        return function(x,y) >= 0.5 # hard coded\n",
    "\n",
    "    # Hard coded\n",
    "    xx, yy = numpy.meshgrid(\n",
    "        numpy.arange(-0.5,3,0.005),\n",
    "        numpy.arange(-0.5,3,0.005)\n",
    "    )\n",
    "    # One-off\n",
    "    Z = numpy.array([h(i[0], i[1]) for i in numpy.c_[xx.ravel(), yy.ravel()]])\n",
    "\n",
    "    Z = Z.reshape(xx.shape)\n",
    "    plt.contourf(xx, yy, Z, colors=['red', 'blue'], alpha=0.25, levels=range(-1,2))\n",
    "    plt.contour(xx, yy, Z, colors = 'k', linewidths = 3)\n",
    "    plt.show()\n",
    "\n",
    "def step(x):\n",
    "    \"\"\"\n",
    "    Returns 1 or 0 since Bool * int is int\n",
    "    \"\"\"\n",
    "    return (x >= 0)*1\n",
    "\n",
    "def sigmoid(x):\n",
    "    \"\"\"\n",
    "    Note: The book's version is 1/(1+exp(-x)).\n",
    "    Our version exp(x) / (1 + exp(x)) is an equivalent expression.\n",
    "    But this behaves better with small floating point numbers.\n",
    "    \"\"\"\n",
    "    exponential = numpy.exp(x)\n",
    "    denom = numpy.add(1, exponential)\n",
    "\n",
    "    result = numpy.divide(exponential, denom)\n",
    "    result = numpy.minimum(result, 0.9999)  # Set upper bound\n",
    "    result = numpy.maximum(result, 0.0001)  # Set lower bound\n",
    "    \n",
    "    return result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "92ad832b-3bf5-4344-b6c9-fe10e73370e9",
   "metadata": {},
   "source": [
    "## Toy dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "93112c7f-fe95-4139-ac43-c8b6d6746c4e",
   "metadata": {},
   "outputs": [],
   "source": [
    "alien_Xset = pandas.DataFrame({\n",
    "    'aack':[1,2,0,0,1,1,2,2],\n",
    "    'beep':[0,0,1,2,1,2,1,2],\n",
    "    'happy': [0,0,0,0,1,1,1,1]})\n",
    "\n",
    "X = alien_Xset[['aack', 'beep']]\n",
    "y = alien_Xset['happy']\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "76ebb37a-c8fb-49ba-b6fd-c0d03cd70525",
   "metadata": {},
   "source": [
    "## Example surfaces (lines & 2D planes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "be8c92c8-03a2-4e0a-ba68-b26fb45e682e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def line_1(a,b):\n",
    "    return step(6*a + 10*b - 15)\n",
    "\n",
    "def line_2(a,b):\n",
    "    return step(10*a + 6*b - 15)\n",
    "\n",
    "def bias(a,b):\n",
    "    return 1\n",
    "\n",
    "def nn_with_step(a,b):\n",
    "    return step(step(6*a + 10*b - 15) + step(10*a + 6*b - 15) - 1.5)\n",
    "\n",
    "def nn_with_sigmoid(a,b):\n",
    "    return sigmoid(1.0*sigmoid(6*a + 10*b - 15) + 1.0*sigmoid(10*a + 6*b - 15) - 1.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b321d45-2e57-4b76-9f25-673fa3d70bda",
   "metadata": {},
   "source": [
    "## Boundaries of the first layer (linear classifiers and bias)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3d723cf2-86ee-49be-94f0-535014fefad9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Diego\\AppData\\Local\\Temp/ipykernel_12092/2369674455.py:32: UserWarning: No contour levels were found within the data range.\n",
      "  plt.contour(xx, yy, Z, colors = 'k', linewidths = 3)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEGCAYAAAB7DNKzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAYaElEQVR4nO3dfZRcdZ3n8ffXPBiI0DyewEIkQQMITADTxKi7GgZcAZWo4ABnBMniBFBGUJfj046e8bhzVEYdFdaIPBmHQQQFgwRcQDg4AiEdIDwFQsiCJCeEh2CHPAHd+e4fVR2bTvdNJd1Vt7r7/TqnTt+HX9/61q1OPvfW79bvRmYiSVJf3lR2AZKk5mZQSJIKGRSSpEIGhSSpkEEhSSo0suwCBlpLyx65114Tyi5DkgaVJUsWvpiZe/a2bsgFxV57TeCnP20ruwxJGlSOOiqe6WudHz1JkgoZFJKkQgaFJKnQkOujkKRtFfE6Y8cuZ8SIjWWXUnednWNYt25fMkfV/DsGhaRhb+zY5YwbtxMtLROIiLLLqZvMpL39JVatWs7atRNr/j0/epI07I0YsZGWlt2HdEgARAQtLbtv85mTQSFJMORDosv2vE6DQpJUyKCQpCHgqquu5ItfPLcu2zYoJEmFvOpJkrbBtAtvYd1rnVssHzt6BPdecOx2b/fUUz/KihXPsnHjRs455zxmzpzF5z9/Dvffv4ANGzYwY8ZJfO1r/wzAwoUL+NKXzmP9+nWMHv1mbrzx9jds65ZbbuLCC7/Fr351I7vvvsd219TFoJCkbdBbSBQtr9XFF1/ObrvtxoYNG5g+/UhOOOFE/umf/je77bYbnZ2dfOQjR/PIIw9xwAEHMXPmyVxxxTVMmXIka9asYYcddti8nRtvvJ6LLvo+1103j1133bVfNXUxKCSpCcye/SN+97vrAVix4lmeeupJHn74Qa688hI6Ojp47rmVPP74Y0QE48btzZQpRwKw8847b97GXXf9gQceaOOGG/7vG5b3l30UklSyP/7xTu688zZuu+0e7r57EZMnH8GSJYv50Y/+lblzb+eeex7igx/8EK++Wvz9h4kT38bata+wdOmSAa3PoJCkkq1Z084uu+zKjjvuyJIlj7Ngwb2sWbOGsWPH0tLSwvPPr+LWW28GYNKkA1m1aiULFy4A4JVXXqGjowOA8eP349///decddbpLF786IDV50dPklSyY445lssum01r6zuYNOlAjjxyGn/zN4cxefIRTJlyEPvuO55p094LwOjRo7niimu44IJ/ZOPGDYwZswNz5962eVsHHHAQl156Faef/gmuueZG9t//bf2uLzKz3xtpJgce2JreuEjStmhpWczb3/6OmtrW66qnRlq6dDHt7W98vUcdFQszs7W39p5RSNI2GCxhMJDso5AkFTIoJEmFDApJUiGDQpJUyKCQJBUyKCSpZM888zTvetehZZfRJ4NCklTIoJCk7RBrn2PspYcR61YNyPY6Ojo488y/p7X1HZx22kmsX7+eBx5YyHHHvZ/3vW8KH/3oB3nuuZUALFv2FB/72LG8731T+OAH/xtLljwOwNlnn8H555/N+9/fyhFHHMDNN/9uQGorLSgiYnxE3BERj0XEoxFxXi9tpkdEe0Q8WH18vYxaJamn0fd+l2j/M6Pv+c6AbO/JJ5/gH/7hM7S1LWannXbmZz+7mAsu+Ed+8YvruOuuhZx22v/gm9/8GgDnnTeLCy/8MXfdtZBvfetf+cIXPrN5O8888zR33HEf1157E5///Nls3Fg8kGAtyvxmdgfwxcy8PyJ2AhZGxK2Z+ViPdn/MzA+XUJ8k9SrWPseoR64i2MSoR6/itXd/iRw7rl/b7D6e08knf5Lvfe9fWLz4EWbM+AAAnZ2djBu3N2vXrmX+/Lv51Kc+sfl3X3311c3TH//43/GmN72Jt799EhMm7M+SJY8zefLh/aqttKDIzJXAyur0KxGxGNgH6BkUktRURt/7XWBTZSY3Mfqe7/DqMd/v1zYj4g3zb3nLThx00CHcfvs9b1i+Zs0aWlp24U9/erCm7fSc3x5N0UcREROAI4D5vax+d0QsioibI+KQPn5/VkS0RURbe/sL9SxV0jC3+Wyi87XKfOdrjHr0qn73VTz77J+ZP78SCtde+x8ceeQ0Xnzxhc3LXn/9dRYvfpSdd96Z/fabyPXXXwtAZvLww4s2b+f6669l06ZNLFv2FE8/vYxJkw7sV13QBEEREW8Bfg2cn5lreqy+H9gvMw8Dfgzc0Ns2MvOSzGzNzNaWlj3rWq+k4e0NZxNdqmcV/TFp0oH87GcX09r6Dv7yl5c566xK/8Q3vvEl3vOew3jvew9n/vy7Abj00quYM+cy3vOew5g69RBuuum3m7czfvxbOeqoqZx44nH84AezGTNmTL/qgpJHj42IUVRC4qrM/E3P9d2DIzPnRcT/iYg9MvPFRtYpSV1GPjVv89lEl+h8jZFPzdvuj5/2228CCxc+vsXyyZMP55Zb7tpi+YQJE7n++lt63db06cfwb/82e7vq6EtpQRGVD84uAxZnZq97NyL2AlZlZkbEVCpnQC81sExJeoN1Z235H/pQV+YZxXuB04CHI+LB6rKvAm8FyMzZwEnAORHRAWwATsmhdqclSRogs2dfWZftlnnV038Chd3xmXkRcFFjKpI0nGXmgFwh1Oy251i79M5sSSpbZ+cY2ttf2q7/RAeTzKS9/SU6O7etg9tboUoa9tat25dVq5bz4otD//L6zs4xrFu37zb9jkEhadjLHMXatRPLLqNp+dGTJKmQQSFJKmRQSJIKGRSSpEIGhSSpkEEhSSpkUEiSChkUkqRCBoUkqZBBIUkqZFBIkgoZFJKkQgaFJKmQQSFJKmRQSJIKGRSSpEIGhSSpkEEhSSpkUEiSCpV2z+yIGA/MAcYBCVySmT/s0SaAHwLHA+uBMzLz/kbXWm9nXHEfG1/v3GL5mFEjuHLm1BIqGqbWr4Z5F8DxF8KOu5VdzfDj/m9aZZ5RdABfzMyDgWnAZyPi4B5tjgMmVR+zgJ80tsTG6C0kiparThZdDWtXVX6q8dz/Tau0oMjMlV1nB5n5CrAY2KdHsxnAnKy4F9glIvZucKkaDtavhqW3AVn5uX512RUNL+7/ptYUfRQRMQE4ApjfY9U+wLPd5pezZZgQEbMioi0i2trbX6hbnRrCFl0NuakynZs8qm00939TKz0oIuItwK+B8zNzzfZsIzMvyczWzGxtadlzYAvU0Nd1NLupozK/qcOj2kZy/ze9UoMiIkZRCYmrMvM3vTRZAYzvNr9vdZk0cLofzXbxqLZx3P9Nr7SgqF7RdBmwODO/30ezucDpUTENaM/MlQ0rskHGjBqxTcs1wP48/69Hs102dVSWq/7c/00vMrOcJ474r8AfgYeBrsOJrwJvBcjM2dUwuQg4lsrlsTMzs61ouwce2Jo//WlhE0lSD0cdFQszs7W3daV9jyIz/xOIrbRJ4LONqUiS1JvSO7MlSc3NoJAkFTIoJEmFDApJUiGDQpJUyKCQJBUyKCRJhQwKSVIhg0KSVMigkCQVMigkSYUMCklSIYNCklTIoJAkFTIoJEmFDApJUiGDQpJUyKCQJBUyKCRJhQwKSVIhg0KSVMigkCQVKjUoIuLyiHg+Ih7pY/30iGiPiAerj683ukZJGu5Glvz8VwIXAXMK2vwxMz/cmHIkST2VekaRmXcBq8usQZJUbDD0Ubw7IhZFxM0RcUhvDSJiVkS0RURbe/sLja5Pkoa0Zg+K+4H9MvMw4MfADb01ysxLMrM1M1tbWvZsZH2SNOQ1dVBk5prMXFudngeMiog9Si5LkoaVpg6KiNgrIqI6PZVKvS+VW5UkDS+lXvUUEVcD04E9ImI58A1gFEBmzgZOAs6JiA5gA3BKZmZJ5UrSsFRqUGTmqVtZfxGVy2clSSWpOSgiYjRwEJDAE5n5Wt2qkiQ1jZqCIiI+BMwGngICmBgRZ2XmzfUsTpJUvlrPKL4HHJWZSwEi4m3ATYBBIUlDXK1XPb3SFRJVy4BX6lCPJKnJ1HpG0RYR84BfUemj+ASwICI+DpCZv6lTfZKkktUaFGOAVcD7q/MvADsAH6ESHAaFJA1RNQVFZs6sdyGSpOZUUx9FRBwQEbd33TciIiZHxP+qb2mSpGZQa2f2z4CvAK8DZOZDwCn1KkqS1DxqDYodM/O+Hss6BroYSVLzqTUoXqx+dyIBIuIkYGXdqpIkNY1ar3r6LHAJcFBErAD+H/DJulUlSWoatV71tAw4JiLGAm/KTL9sJ0nDRK1XPY2LiMuA6zLzlYg4OCLOrHNtkqQmUGsfxZXA74H/Up1fApxfh3okSU2m1qDYIzN/BWwCyMwOoLNuVUmSmkatQbEuInbnr1c9TQPa61aVJKlp1HrV0xeAucD+EfEnYE8qtymVJA1xtQbFY8D1wHoqw4vfQKWfQpI0xNX60dMcKrdB/Rfgx8ABwC/qVZQkqXnUekZxaGYe3G3+joh4rB4FSZKaS61nFPdXO7ABiIh3AW31KUmS1EwKzygi4mEqVzqNAu6OiD9X5/cDHu/vk0fE5cCHgecz89Be1gfwQ+B4Kv0jZ2Tm/f193mZzxhX3sfH1La82HjNqBFfOnFpCRcPU+tUw7wI4/kLYcbeyqxl+3P9Na2tnFB+mche7Y4GJVO5wN706fdwAPP+V1W335ThgUvUxC/jJADxn0+ktJIqWq04WXQ1rV1V+qvHc/02rMCgy85miR3+fPDPvAlYXNJkBzMmKe4FdImLv/j6vtIX1q2HpbUBWfq4v+rPUgHP/N7Va+yjKsg/wbLf55dVlbxARsyKiLSLa2ttfaFhxGkIWXQ25qTKdmzyqbTT3f1Nr9qCoSWZekpmtmdna0rJn2eVosOk6mt1UvRfXpg6PahvJ/d/0mj0oVgDju83vW10mDZzuR7NdPKptHPd/02v2oJgLnB4V04D2zBxyd9YbM2rENi3XAPvz/L8ezXbZ1FFZrvpz/ze9Wr9wVxcRcTWVq6j2iIjlwDeoXIpLZs4G5lG5NHYplctjZ5ZTaX15CWzJTp5TdgXDm/u/6ZUaFJl56lbWJ5XbsEqSStLsHz1JkkpmUEiSChkUkqRCBoUkqZBBIUkqZFBIkgoZFJKkQgaFJKmQQSFJKmRQSJIKGRSSpEIGhSSpkEEhSSpkUEiSChkUkqRCBoUkqZBBIUkqZFBIkgoZFJKkQgaFJKmQQSFJKmRQSJIKlRoUEXFsRDwREUsj4su9rD8jIl6IiAerj0+XUackDWcjy3riiBgBXAx8AFgOLIiIuZn5WI+m12TmuQ0vUJIElHtGMRVYmpnLMvM14JfAjBLrkST1osyg2Ad4ttv88uqynk6MiIci4rqIGN+Y0iRJXZq9M/tGYEJmTgZuBX7eW6OImBURbRHR1t7+QkMLlKShrsygWAF0P0PYt7pss8x8KTNfrc5eCkzpbUOZeUlmtmZma0vLnnUpVpKGqzKDYgEwKSImRsRo4BRgbvcGEbF3t9kTgMUNrE+SRIlXPWVmR0ScC/weGAFcnpmPRsQ3gbbMnAt8LiJOADqA1cAZZdUrScNVaUEBkJnzgHk9ln292/RXgK80ui5J0l81e2e2JKlkBoUkqZBBIUkqZFBIkgoZFJKkQgaFJKmQQSFJKmRQSJIKGRSSpEIGhSSpkEEhSSpkUEiSChkUkqRCBoUkqZBBIUkqZFBIkgoZFJKkQgaFJKmQQSFJKmRQSJIKGRSSpEIGhSSpkEEhSSo0sswnj4hjgR8CI4BLM/PbPda/GZgDTAFeAk7OzKcbXaeGtjOuuI+Nr3dusXzMqBFcOXNqCRUNL+7/5lfaGUVEjAAuBo4DDgZOjYiDezQ7E3g5M98O/AD4TmOr1HDQ239SRcs1sNz/za/Mj56mAkszc1lmvgb8EpjRo80M4OfV6euAoyMiGlijJA17ZQbFPsCz3eaXV5f12iYzO4B2YPeeG4qIWRHRFhFt7e0v1KlcSRqehkRndmZekpmtmdna0rJn2eVI0pBSZlCsAMZ3m9+3uqzXNhExEmih0qktSWqQMoNiATApIiZGxGjgFGBujzZzgU9Vp08C/pCZ2cAaNQyMGTVim5ZrYLn/m19pl8dmZkdEnAv8nsrlsZdn5qMR8U2gLTPnApcBv4iIpcBqKmEiDSgvwSyX+7/5lfo9isycB8zrsezr3aY3Ap9odF2SpL8aEp3ZkqT6MSgkSYUMCklSIYNCklTIoJAkFTIoJEmFDApJUiGDQpJUyKCQJBUyKCRJhQwKSVIhg0KSVMigkCQVMigkSYUMCklSIYNCklTIoJAkFTIoJEmFDApJUiGDQpJUyKCQJBUyKCRJhUoJiojYLSJujYgnqz937aNdZ0Q8WH3MbXSdkqTyzii+DNyemZOA26vzvdmQmYdXHyc0rjxJUpeygmIG8PPq9M+Bj5ZUhyRpKyIzG/+kEX/JzF2q0wG83DXfo10H8CDQAXw7M2/oY3uzgFnV2UOBRwa86MbZA3ix7CL6wfrLZf3lGsz175eZe/a2om5BERG3AXv1suprwM+7B0NEvJyZW/RTRMQ+mbkiIvYH/gAcnZlPbeV52zKztX/Vl8f6y2X95bL+5jSyXhvOzGP6WhcRqyJi78xcGRF7A8/3sY0V1Z/LIuJO4AigMCgkSQOrrD6KucCnqtOfAn7bs0FE7BoRb65O7wG8F3isYRVKkoDyguLbwAci4kngmOo8EdEaEZdW27wDaIuIRcAdVPooagmKS+pRcANZf7msv1zW34RK6cyWJA0efjNbklTIoJAkFRr0QTFYhwOJiGMj4omIWBoRW3wzPSLeHBHXVNfPj4gJJZTZpxrqPyMiXui2zz9dRp29iYjLI+L5iOj1+zZR8aPqa3soIt7Z6BqL1FD/9Iho77bvv97oGotExPiIuCMiHouIRyPivF7aNO17UGP9Tf0ebLPMHNQP4LvAl6vTXwa+00e7tWXX2q2WEVQu890fGA0sAg7u0eYzwOzq9CnANWXXvY31nwFcVHatfdT/PuCdwCN9rD8euBkIYBowv+yat7H+6cDvyq6zoP69gXdWp3cClvTy99O070GN9Tf1e7Ctj0F/RsHgHA5kKrA0M5dl5mvAL6m8ju66v67rgKOr32JvBrXU37Qy8y5gdUGTGcCcrLgX2KX6fZ+mUEP9TS0zV2bm/dXpV4DFwD49mjXte1Bj/UPKUAiKcZm5sjr9HDCuj3ZjIqItIu6NiI82prQ+7QM8221+OVv+oW1uk5kdQDuwe0Oq27pa6gc4sfqxwXURMb4xpQ2IWl9fM3t3RCyKiJsj4pCyi+lL9SPVI4D5PVYNivegoH4YJO9BLer2zeyBtJXhQDbLzIyIvq733S+7DQcSEQ/nVoYDUb/cCFydma9GxFlUzo7+tuSahov7qfy9r42I44EbgEnllrSliHgL8Gvg/MxcU3Y922or9Q+K96BWg+KMIjOPycxDe3n8FljVdUpa63AgwJ1UjgLKsgLofoS9b3VZr20iYiTQArzUkOq2bqv1Z+ZLmflqdfZSYEqDahsItbw/TSsz12Tm2ur0PGBUdXSDphERo6j8J3tVZv6mlyZN/R5srf7B8B5si0ERFFsxGIcDWQBMioiJETGaSmd1zyuxur+uk4A/ZLWXrAlstf4enyefQOVz3MFiLnB69cqbaUB7t483m15E7NXVnxURU6n8O2+Wg4yuEaMvAxZn5vf7aNa070Et9Tf7e7CtBsVHT1vxbeBXEXEm8Azwd1AZDgQ4OzM/TWU4kJ9GxCYqb1itw4HURWZ2RMS5wO+pXEF0eWY+GhHfBNoycy6VP8RfRMRSKh2Xp5RVb0811v+5iDiByhDxq6lcBdUUIuJqKlel7BERy4FvAKMAMnM2MI/KVTdLgfXAzHIq7V0N9Z8EnBOVYfo3AKc00UEGVA7UTgMejogHq8u+CrwVBsV7UEv9zf4ebBOH8JAkFRoKHz1JkurIoJAkFTIoJEmFDApJUiGDQpJUyKCQmkBURtu9qOw6pN4YFJKkQgaFNAAi4oaIWFi9P8Gs6rKfVAeifDQi/rlb2yMj4u7qgHH3RcROPbb1oYi4ZzAP+aChxS/cSQMgInbLzNURsQOVIU7eT2WcytURMQK4Hfgc8Hj1cXJmLoiInal88/iTQGu13ReAEzLz5TJei9TTUBjCQ2oGn4uIj1Wnx1MZKfTw6tnFSCo3uzkYSGBlZi6AyuBxANVhgf6WSlj898E4mqqGLj96kvopIqYDxwDvzszDgAeojC/2P4GjM3MycBMwZiubeorKHdMOqFux0nYwKKT+awFezsz1EXEQlVt37gysA9ojYhxwXLXtE8DeEXEkQETsVB1GHiqDWp4IzBnsN7rR0GJQSP13CzAyIhZTGc34Xir3EX+ASn/EfwB/AqjeOvZk4McRsQi4lW5nGpn5OPD3wLUR8bZGvgipL3ZmS5IKeUYhSSpkUEiSChkUkqRCBoUkqZBBIUkqZFBIkgoZFJKkQv8ffA5Ut5w9JZcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "one_off_plot_decision_boundary_2D(line_1)\n",
    "one_off_plot_decision_boundary_2D(line_2)\n",
    "one_off_plot_decision_boundary_2D(bias)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e8a3694-523d-4644-b403-e1564957d63c",
   "metadata": {},
   "source": [
    "## Boundaries of the second layer (non-linear classifiers)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c926e371-e563-4d9f-8b78-1f2ba4d6014a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "one_off_plot_decision_boundary_2D(nn_with_step)\n",
    "one_off_plot_decision_boundary_2D(nn_with_sigmoid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c573333e-c101-4069-b388-0d32b421d122",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
